package cn.csc.module.system.convert.social;

import cn.csc.module.system.api.social.dto.SocialUserBindReqDTO;
import cn.csc.module.system.api.social.dto.SocialUserBindRespDTO;
import cn.csc.module.system.api.social.dto.SocialUserUnbindReqDTO;
import cn.csc.module.system.controller.admin.socail.vo.user.SocialUserBindReqVO;
import cn.csc.module.system.controller.admin.socail.vo.SocialUserUnbindReqVO;
import cn.csc.module.system.dal.dataobject.social.SocialUserDO;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;



@Mapper
public interface SocialUserConvert {

    SocialUserConvert INSTANCE = Mappers.getMapper(SocialUserConvert.class);

    SocialUserUnbindReqDTO convert(Long userId, Integer userType, SocialUserUnbindReqVO reqVO);

    @Mapping(source = "reqVO.type", target = "socialType")
    SocialUserBindReqDTO convert2(Long userId, Integer userType, SocialUserBindReqVO reqVO);

    SocialUserBindRespDTO convert(SocialUserDO socialUserDO);


}
